package com.qianyu.core.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qianyu.core.entity.base.PageDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "QqAccountDto")
public class QqAccountDto {

    @Data
    @ApiModel(value = "QqAccountDto&QqAccountPageDto")
    public static class QqAccountPageDto extends PageDTO {
        @ApiModelProperty("账号状态:-1=冻结,0=待初始化,1=正常,2=异常")
        private Integer status;
    }

    @Data
    @ApiModel(value = "QqAccountDto&QqAccountSimplePageDto")
    public static class QqAccountSimplePageDto extends PageDTO {
        @ApiModelProperty("QQ")
        private String qq;

        /**
         * 分配情况 0-未分配 1-已分配
         */
        private Integer type;

    }

    @Data
    @ApiModel(value = "QqAccountDto&QqAccountDistributeDto")
    public static class QqAccountDistributeDto {
        @ApiModelProperty("用户id")
        @NotNull(message = "用户id 不能为空")
        private Long userId;

        /**
         * 账号ids
         */
        @ApiModelProperty("账号ids")
        @NotNull(message = "账号ids 不能为空")
        private List<Long> accountIds;

    }

    @Data
    @ApiModel("MoneyWaterDto&MoneyWaterPageDto")
    public static class QqAccountRentPageDto extends PageDTO {
        @ApiModelProperty(value = "起始时间")
        @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
        private Date startTime;


        @ApiModelProperty(value = "结束时间")
        @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
        private Date endTime;

        /**
         * 回收状态0-正常 1-回收
         */
        @NotNull(message = "[回收状态0-正常 1-回收]不能为空")
        @ApiModelProperty("回收状态0-正常 1-回收")
        private Integer recoveryStatus;
    }
}
